package com.qf.service.impl;
import com.qf.dao.impl.ParkDaoImpl;
import com.qf.entity.Park;
import com.qf.service.ParkService;
import java.text.ParseException;
import java.util.List;

public class ParkServiceImpl implements ParkService {
    private ParkDaoImpl parkDao = new ParkDaoImpl();

    /** 利用limit，查询当前页的所有数据的集合
     * @param customerPhone  cuntomer表中用户的手机号（这个是查询条件1，可独立条件查询，可联同查询条件x一起进行查询）
     * @param parkPetName    park表中的宠物名（这个是查询条件2，可独立条件查询，可联同查询条件x一起进行查询）
     * @param parkStartTime  park表中的开始时间（这个是查询条件3，可独立条件查询，可联同查询条件x一起进行查询）
     * @param parkEndTime    park表中的结束时间 （这个是查询条件3，可独立条件查询，可联同查询条件x一起进行查询）
     * @param currentPageNo 当前页（前端传递的数据）：-------------用户所处的第x页
     * @param pageSize      页量（前端传递的数据）：--------------是限制每页显示多少条数据
     * @return List<Park> 存储每行寄养对象的集合parkList
     */
    @Override
    public List<Park> selectAllList(Integer status, Integer customerPhone, String parkPetName, String parkStartTime, String parkEndTime, String currentPageNo, String pageSize) throws ParseException {

        Integer currentPageNo1=null;//对当前页currentPageNoStr
        //对当前页进行处理
        if (currentPageNo==null || "".equals(currentPageNo)) {
            //如果前端没有传递数据。那么我们默认设置当前页为第一页
            currentPageNo1 =1;
        }else {
            /**前端传递了数据的话，我们就对前端传递过来
             *     的字符串数据currentPageNoStr（前端传递的所有数据都是String类型）
             *     强转成int类型
             */
            currentPageNo1 = Integer.parseInt(currentPageNo);
        }

        Integer pageSize1= null;        //对页量pageSizeStr
        //对页量进行处理
        if (pageSize ==null || "" .equals(pageSize)) {
            //如果前端没有传递数据。那么我们默认设置每页只能存储2页数据
            pageSize1=2;//
        }else{
            /** 前端传递了数据逇话，我们就对前端传递过来
             *   的字符串数据pageSizeStr（前端传递的所有数据都是String类型）
             *   强转成int类型
             */
            pageSize1 =Integer.parseInt(pageSize);
        }
        /** SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd")：
         *  创建一个date对象，用于指定日期的转换格式为：“yyyy-MM-dd”格式
         *
         *  a1：
         *      Date d = new Date()
         *      date.format(d):
         *          new Date()创建一个当前系统时间d
         *          将d以指定日期的格式为：“yyyy-MM-dd”进行转换
         *
         *  a2：
         *      String edate =2022.01.05
         *      Date edate1 = date.parse(edate);
         *              将日期字符串edate以指定日期的格
         *              式为：“yyyy-MM-dd”进行转换，转换
         *              成功后，它将变成Date类型
         *
         *
         */
        /**
         *         //创建一个date对象，用于指定日期的转换格式为：“yyyy-MM-dd”格式
         *         SimpleDateFormat date = new SimpleDateFormat("yyyy-MM-dd");
         * //        将要转换的日期字符串parkStartTime1、parkEndTime 转换成date时间格式，
         *
         *         Date parkStartTime1 = date.parse(parkStartTime);//开始时间（Date类型）
         *         Date parkEndTime1 = date.parse(parkEndTime);//结束时间（Date类型）
         */


        List<Park> parks = parkDao.selectAllList(status,customerPhone, parkPetName, parkStartTime, parkEndTime, currentPageNo1, pageSize1);
        return parks;
    }

    @Override
    public int addPark(Park park) {
        return parkDao.addPark(park);
    }
}
